c语言>>帮忙查错

来源:百度知道 编辑:UC知道 时间:2024/06/19 07:37:33
#include<stdio.h>
float main()
{
float a,b,c,e,x,y,w,k,v,u,z,f;
float max(float x,float y);
scanf("%f,%f,%f",a,b,c);
v=max(a,b);
f=e;
u=max(v,c);
w=e;
k=max(f,w);
printf("%f,%f,%f",u,k,w);
max(x,y);
{
if(x>y) z=x,e=y;
else z=y,e=x;
return (z);
}
}

请前辈帮忙看看程式出什么错了?还能精简不?主要是输入三个数,然后把它们按顺序输出.

scanf 要加& 才能输入

从大到小顺序
void main(){
int temp;
float a,b,c,n1,n2,n3;
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{t=b;b=a;a=t}

if(a<c)
{t=c;c=a;a=t}

if(b<c)
{t=c;c=b;b=t}

printf("%f,%f,%f",a,b,c);

}

#include<stdio.h>
void main()
{
float a,b,c,max;
scanf("%f,%f,%f",&a,&b,&c);
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
pritf("max=%f",max);
}

方法笨了点,但逻辑清晰嘎
#include<stdio.h>
int main()
{
int op1, op2, op3, tmp;
scanf("%d%d%d", &op1, &op2, &op3);
if (op1 > op2)
{
tmp = op1;
op1 = op2;
op2 = tmp;
}
if (op1 > op3)
{
tmp = op1;
op1 = op3;
op3 = tmp;
}
if (op2 > op3)
{
tmp = op2;
op2 = op3;
op3 = tmp;
}